2023-07-21
|
ZH
自定义EntityAdapter需要实现EntityAdapter接口,其中的每个方法在接口中都有默认实现,只需要实现需要修改的接口即可,同时需要交给spring管理,一般是加一个@Component注解 如果不针对所有的类,而只针对具体的类,可以覆盖type()方法返回具体的Class或覆盖typ
2023-07-21
|
ZH
EntityAdapter主要用来实现实体类与表,属性与列之间的转换。 系统自带一个默认的EntityAdapter,每个项目也可以提供定制的EntityAdapter,参考【EntityAdapter定制】 在执行转换时会按顺序调用,直到成功为止,顺序以EntityAdapter.order()方
2023-07-26
|
ZH
标准的url中一般是这样http://127.0.0.1/list?id=1&id=2&id=3 或者用form表表单提交三个name=id的input 也可以提交json格式{id:[1,2,3]} 以上三种情况condition("ID:[id]")都可以解析成WHERE I
2023-07-27
|
ZH
在多数据源的情况下会生成多个事务管理器。 为了更强的隔离性。否则数据源切换过程中,不好跟踪事务,如果遇到线程共享时,切换数据源也有可能失败,那事务管理器肯定就乱了。 为了在切换数据源过程中,保持事务状态。就是不要因为切换数据源,而把上一个事务强制提交或回滚。
2023-07-27
|
ZH
在存多数据源的情况下会创建多个事务管理器【为会么要创建多个事务管理器】 事务管理器在spring上下文环境中的命名也就是bean.name 如在默认数据源之外 又创建多个数据源a,b,c spring会针对默认数据生成一个默认事务管理器:transactionManager anyline
2023-07-29
|
ZH
//查询表结构时,默认会查询DDL Table table = service.metadata().table("CRM_USER") List ddls = table.ddls(); 对于确认只有一条SQL的数据库可以 String ddl = table.ddl(
2023-08-04
|
ZH
对于非基础类型属性,在数据库可以用json类型。 在插入或更新数据时会把属性值转换成json格式,同样的读取数据时也会把json格式还原成属性对应的数据类型。 需要注意的是,在插入数据时数据需要先知道数据库中是JSON类型才会转换。 这样就需要开启一个开关,来保证插入数据前先检查数据库结构。当然这个
2023-08-04
|
ZH
通常情况下通过配置文件设置一个统一的主键生成器就可以,但如果有一部分表需要单独设置 一种方式是可以通过配置文件单独指定 另一种方式可以通过注解设置 另外一些属性的关联表的主键生成器也可以通过注解设置,这种情况比较特殊在其他JPA中一般不这样用 @Table(name="HR_EMPLOYEE")
2023-08-04
|
ZH
理由是在用到的时候JAVA和配置文件里都可以临时写。 如果数据量不大,结构不复杂,数据不敏感,只是显示个列表或明细确实没什么大问题。 但是以下实际情况簇不是这样: 既然都需要写SQL了复杂度还是有点的 当然不能拿那些helloworld说事,那些SQL都是多余的
2023-08-05
|
ZH
getColumns返回的是DataRow中查询出来的列属性 getMetadatas返回的是整个表的列属性 如CRM_USER表中有三列,ID,NAME,AGE DataRow row = service.query("CRM_USER(ID,NAME)"); 这时getMetadatas会返回3