对应用程序的行为/影响
如果我不使用@Transient注释标记字段,并且还设置属性spring.jpa.hibernate.ddl-auto = none?
示例: 实体:Product.java [id,名称,金额,折扣] 字段折扣是由同一类中的某些业务逻辑计算的字段。
这映射到表: product_master(id,nm,amt) 我的问题是:
如果我不使用@Transient批注标记属性折扣,并尝试对产品实体执行CRUD操作,将会发生什么情况。
说过春天的财产 spring.jpa.hibernate.ddl-auto = none。
答案 0 :(得分:0)
如果您未将discount
标记为@Transient,您的CRUD将会失败
如果您未将discount
标记为@Transient
,则JPA将在对数据库的所有查询中包括此字段。如果您尝试对表进行INSERT,则discount
字段将包含在您的创建查询中,这将失败,因为数据库表中不存在discount
字段。
spring.jpa.hibernate.ddl-auto与@Transient无关