示例我有这张桌子
表交易
id int(PK)
单位varchar(10)
journal_number
日记帐编号是单位和序列的组合。所以示例数据可能是这样的
id | unit | journal_number
------------------------------
1 | 'unit1' | 1
2 | 'unit1' | 2
3 | 'unit2' | 1
4 | 'unit2' | 2
...
我如何自动创建journal_number?
没有手动执行此操作,在休眠状态下有什么解决方案吗?
就像使用发电机
如果我必须手动执行此操作,例如“ unit1”是否有新行。那我就必须
select max(journal_number) where unit = 'unit1'
然后将结果分配到新行
最佳答案
我不知道我是否明白你的意思,但似乎你想要一个复合钥匙。
如果是,那么可以在映射文件中进行处理。
<composite-id name="MyKey" class="string">
<key-property name="firstKey"/>
<key-property name="secondKey"/>
</composite-id>