关于Play Framework通过JPA创建实体和表的体会

(1)第一个问题案例:在开发态下,play框架会自动根据实体信息建表,如果是有一堆人在同一个数据库上开发项目,那么不可避免的会遇到一个问题:假设A猿删减了实体中的属性,提交版本,而其他猿均未更新代码,那么,其他程序猿在调试时,总会将已删除的字段加上,从而导致A猿代码出错。这个问题就必须让大家一起更新实体代码了,这是一个比较麻烦的事情,没有什么特别简洁的解决办法。

(2)实体字段的属性不要用int、double等来定义,而要使用Integer、Double对象。如果不这么做,在这些值为空的时候,赋值之类的操作都会导致程序出错。例如前后端在用JSON传值时,JSON传输时习惯将null略过,不做序列化,这样就经常导致出现null值。

(3)创建一对多、多对多的实体时,切记只能用在较简单的逻辑上,不要用在复杂的逻辑上。否则容易出现互相嵌套引用的情况。就像tree一样,每个节点都含有父级节点对象,也含有子级节点对象,那么这类对象就无法做序列化处理,因为存在这类互相引用的情况。一些大型的项目,不易采用一对多、多对一的方式,这是目前我的想法,也可能这个想法是错的,留待以后实践检验吧。

(4)最近在用原生态SQL时,发现一个关于in的问题,例如 select *,*,* from table where id in (0?),如果参数为一串 '1','2','3' 时,这时就需要直接拼接SQL语句,用一个String来存'1','2','3'是查不到数据的。汗···这个结果让人很难接受,不管我怎么测试,都是这个结果。OK,只好这样照做了,咱还是从了这个框架吧!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值