Releases: nebula-contrib/ngbatis
v1.2.2-jdk17
What's Changed
1.2.2
Bugfix
- fix: complete the error code of ResultSet into QueryException.
- fix: the issue of not being able to handle Set type.
- fix: the issue of the ranking value of the edge object cannot be filled.
- fix: when the field is aliased by
@Column
, the param name is incorrect. (multi tags support)- selectBySelective
- selectIdBySelective
- selectBySelectiveStringLike
- selectIdBySelectiveStringLike
- fix: unable to read the correct value of id, the value of the subclass' id is used now. (multi tag scene)
- fix: do not generate asg debug when the log level is not debug, now.
Develop behavior change
- No longer verifying the number of
@Id
in the entity, please keep the number to 1 on your own.不再对实体中的
@Id
个数进行校验,请注意保持个数为1 (含父类)
1.2.1
Bugfix
- fix: set the specified space in the original method to the proxy method for paging. (#282)
Full Changelog: v1.2.0-jdk17...v1.2.2-jdk17
v1.2.2
What's Changed
1.2.2
Bugfix
- fix: complete the error code of ResultSet into QueryException.
- fix: the issue of not being able to handle Set type.
- fix: the issue of the ranking value of the edge object cannot be filled.
- fix: when the field is aliased by
@Column
, the param name is incorrect. (multi tags support)- selectBySelective
- selectIdBySelective
- selectBySelectiveStringLike
- selectIdBySelectiveStringLike
- fix: unable to read the correct value of id, the value of the subclass' id is used now. (multi tag scene)
- fix: do not generate asg debug when the log level is not debug, now.
Develop behavior change
- No longer verifying the number of
@Id
in the entity, please keep the number to 1 on your own.不再对实体中的
@Id
个数进行校验,请注意保持个数为1 (含父类)
1.2.1
Bugfix
- fix: set the specified space in the original method to the proxy method for paging. (#282)
Full Changelog: v1.2.0...v1.2.2
v1.2.0-jdk17
What's Changed
- Draft: Upgrade to jdk 17 and SpringBoot 3.x by @omar-araboghli in #217
- for-jdk17 by @CorvusYe in #263
New Contributors
- @omar-araboghli made their first contribution in #217
Full Changelog: v1.2.0...v1.2.0-jdk17
v1.2.0
What's Changed
Dependencies upgrade
- nebula-java: 3.5.0 -> 3.6.0
- beetl: 3.1.8-RELEASE -> 3.15.10.RELEASE
- antlr4: 4.7.2 -> 4.11.1
- asm: 8.0 -> 9.4
- jsoup: 1.15.3 -> 1.15.4
Feature
- feat: support
<nGQL>
include query pieces. (#212, via dieyi) - feat: extending
NgPath
, when 'with prop' is used in nGQL, edge attributes can be obtained from NgPath. (#228, via dieyi) - feat: expanding the
insertEdgeBatch
interface inNebulaDaoBasic
. (#244, via Sunhb) - feat: expanding the
deleteByIdBatch
interface inNebulaDaoBasic
. (#247, via Sunhb) - feat: expanding the
listEndNodes
interface inNebulaDaoBasic
. (#272, via knqiufan) - feat: support specify space by param
Bugfix
-
fix: support methods in mapper tags to set space to null.
- Such as:
<mapper namespace="..."> <create id="createSpace" space="null"> create space new_space ( vid_type = INT64 ); </create> </mapper>
-
fix: #190 Insert failed when tag has no attributes
-
chore: removing and exclude some packages: log4j related or useless.
-
fix: #194 we can name the interface by
@Component
and@Resource
, for example:@Component("namedMapper")
: use@Resource("namedMapper$Proxy")
to inject. (since v1.0)@Resource("namedComponent")
: use@Resource("namedComponent")
to inject. (new feature)
-
fix: when DAO/Mapper method has
Page
type param with@Param
, the param name can not be use.如原来项目中分页相关接口,用了不起作用的
@Param
, 但 xml 还是使用 p0, p1...
需要将@Param
移除,或者将 xml 中的参数名改成 注解的参数名,以保证参数名统一 -
fix:class 'ResultSetUtil.java' parse datetime type error. (#241, via 爱吃辣条的Jerry)
-
fix: remove unnecessary reflections in transformDateTime, and prevents errors in the millisecond bit in jdk17.
Develop behavior change
- Remove deprecated classes and methods:
- org.nebula.contrib.ngbatis.binding.DateDeserializer
- org.nebula.contrib.ngbatis.binding.DefaultArgsResolver#customToJson
- Dependencies changing:
如果项目中有用到,且出现相关类找不到的情况,请自行引入
-
Exclude:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </exclusion> </exclusions> </dependency>
-
Removing:
<!-- Why: make it possible to use undertow as web server --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Why: useless in NgBatis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
-
New Contributors
- @1244453393 made their first contribution in #212
- @shbone made their first contribution in #235
- @bobobod made their first contribution in #241
- @syedzubeen made their first contribution in #250
- @knqiufan made their first contribution in #272
Full Changelog: v1.1.5...v1.2.0
v1.2.0-beta
Dependencies upgrade
- nebula-java: 3.5.0 -> 3.6.0
- beetl: 3.1.8-RELEASE -> 3.15.10.RELEASE
- antlr4: 4.7.2 -> 4.11.1
Feature
- feat: support
<nGQL>
include query pieces. (#212, via dieyi) - feat: extending
NgPath
, when 'with prop' is used in nGQL, edge attributes can be obtained from NgPath. (#228, via dieyi) - feat: expanding the
insertEdgeBatch
interface inNebulaDaoBasic
. (#244, via Sunhb) - feat: expanding the
deleteByIdBatch
interface inNebulaDaoBasic
. (#247, via Sunhb)
Bugfix
-
fix: support methods in mapper tags to set space to null.
- Such as:
<mapper namespace="..."> <create id="createSpace" space="null"> create space new_space ( vid_type = INT64 ); </create> </mapper>
-
fix: #190 Insert failed when tag has no attributes
-
chore: removing and exclude some packages: log4j related or useless.
-
fix: #194 we can name the interface by
@Component
and@Resource
, for example:@Component("namedMapper")
: use@Resource("namedMapper$Proxy")
to inject. (since v1.0)@Resource("namedComponent")
: use@Resource("namedComponent")
to inject. (new feature)
-
fix: when DAO/Mapper method has
Page
type param with@Param
, the param name can not be use.如原来项目中分页相关接口,用了不起作用的
@Param
, 但 xml 还是使用 p0, p1...
需要将@Param
移除,或者将 xml 中的参数名改成 注解的参数名,以保证参数名统一 -
fix:class 'ResultSetUtil.java' parse datetime type error. (#241, via 爱吃辣条的Jerry)
Develop behavior change
- Remove deprecated classes and methods:
- org.nebula.contrib.ngbatis.binding.DateDeserializer
- org.nebula.contrib.ngbatis.binding.DefaultArgsResolver#customToJson
- Dependencies changing:
如果项目中有用到,且出现相关类找不到的情况,请自行引入
-
Exclude:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </exclusion> </exclusions> </dependency>
-
Removing:
<!-- Why: make it possible to use undertow as web server --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Why: useless in NgBatis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
-
New Contributors
- @1244453393 made their first contribution in #212
- @shbone made their first contribution in #235
- @bobobod made their first contribution in #241
- @syedzubeen made their first contribution in #250
Full Changelog: v1.1.5...v1.2.0-beta
v1.1.5
Bugfix
- fix: #176 use double quote instead of the original single quote in ng.valuaFmt function
- fix: #181 when node has multi tag, can not update by subclass
- updateById
- updateByIdSelective
- updateByIdBatchSelective
- updateByIdBatchSelective
- upsertByIdSelective
- fix: #185 improve the accuracy of datetime to milliseconds
v1.1.4
Develop behavior change.
- When a field is declared by java.util.Date, it is no longer allowed to set a value using Timestamp
当字段由java.util.Date声明时,不再允许使用java.sql.Timestamp设值
Bugfix
- fix: data error for date type in the database.#102
Feature
-
Clear time type mapping.
db type java type datetime java.util.Date date java.sql.Date time java.sql.Time timestamp java.sql.Timestamp duration java.time.Duration
v1.1.3
v1.1.2
Develop behavior change.
- If an entity type is another entity type's super class, all attribute are being required in database schema except
@Transient
Bugfix
Features
- feat: multi tags support for vertex inserting.
- feat: provide default data structure for edge \ vertex \ path \ sub-graph, and their result handler. #103 #118
- feat: NebulaDaoBasic shortest path support. #118
- feat: ng.valueFmt support escape ( default true ). Use
ValueFmtFn.setEscape( false );
to disable this feature. - feat: add config to use
nebula-java
session poolnebula: ngbatis: use-session-pool: true
Dependencies upgrade
- nebula-java: 3.3.0 -> 3.4.0
用法变动
- 如果一个实体类是另一个实体类的父类,则其所有除了注解
@Transient
了的属性,都需要在数据库中声明。(1.1.1版本父类只读取@Column
的属性)
修复
新特性
- NebulaDaoBasic支持通过类的继承关系,写入多标签
- 对路径、子图、未建java实体类的类型提供默认数据结构及其结果处理类 #103 #118
- NebulaDaoBasic 提供最短路径接口 #118
- ng.valueFmt 对String类型,默认进行转义,可以使用
ValueFmtFn.setEscape( false );
禁用自动转义。 - 追加配置项开启
nebula-java
session pool,如开启此用法,则在 xml 标签内 ngql 部分要甚用use spacename;
nebula: ngbatis: use-session-pool: true
依赖升级
- nebula-java: 3.3.0 -> 3.4.0