我的一个Oracle表,没有任何主键,然后生成的时候就将所有的字段都作为联合主键,如果所有的字段都做联合主键的话,这样只要一个字段为null,查询的话这条记录就不能查询到。然后我想到Oracle数据库可以生成一个rowId,然后我将这个列作为一个主键,可以解决查询问题,但是如果用rowId的话,查询是可以解决了,做添加记录的时候我不知道该如何弄了,求高人指点。

解决方案 »

  1.   

    你怎么不建主键呢?基本上每张表里都得一个主键啊,这样才方便你crud....
      

  2.   

    hibernate带有那么多的主键生成策略,除了assigned自己弄,都帮你生成了!你却不设置主键。那就没必要用hibernate啊!项目中哪有不设置主键的表啊
      

  3.   

    一般表都是根据需求来建的,不说能根据建好的表来更改需求。
    需求中可以不存在主键,这样使用Hibernite的时候它会自动给你添加一个。
    但是如果表中不存在主键的话,就很难办了。
    就比如,为什么吃饭都用碗?而不是直接用手抓?
    因为方便呗。