当前位置: 首页 > 面试题库 >

如何将触发器生成的值赋予Hibernate ValueObject?

漆雕唯
2023-03-14
问题内容

在我的Hibernate应用程序中,我正在使用创建ValueObject类

@Entity
@Table(name="user")
public class UserVO{

    @Id
    @Column(name="S_ID")
    private String s_id;

    @Column(name="FIRSTNAME")
    private String firstName;

    @Column(name="LASTNAME")
    private String lastName;
 }

在我的服务课上,我这样写

public void createOrUpdateUser(UserVO userVO) {
        userDAO.createOrUpdateUser(userVO);
    }

在我的DAO课上,我这样写

private EntityManager entityManager;
public void createOrUpdateUser(UserVO userVO) throws DataAccessException {
        entityManager.persist(userVO);
    }

现在我打电话给createOrUpdateUser(userVO)但它给错误

Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()

实际上我的数据库我已经triggeruser表创建了一个数据库,以为s_id列生成唯一的ID 是它们的触发器问题。请建议我。


问题答案:

ID列不能为null,无论您在数据库驱动程序中执行什么操作,都只会在插入或任何其他操作之前/之后被触发,但是根据错误,它会在出现任何错误之前给出错误。

设置一些ID值或尝试一些操作 @GeneratedValue(strategy = GenerationType.IDENTITY)



 类似资料:
  • 问题内容: 我在项目中使用了几个JSpinners,它们显示小时和分钟。当JSpinner递增或递减时,我必须将值保存到数据库。但是问题是JSpinners给了我旧的价值观。例如- 如果显示的时间是,并且我将时间增加到,我将获得09:30作为返回值。我正在使用以下代码 更新的SSCCE 如果我使用的是旧值两次,但是如果我使用的是新值,但它是长格式 我应该如何设置微调框仅给? 问题答案: Java

  • 我得到了下面的Navbar。我想让它做的是: 向下滚动时出现 再次向上滚动时离开视图(到定义的数量) 用箭头“关闭”导航条,使其变小 在“关闭”后“重新打开”导航栏 在任何时候,我仍然希望navbar在滚动到顶部时隐藏。无论它是扩展还是压缩 这不起作用,因为我的切换navbar的代码将为设置内联值,这是类中需要的,以便在向上滚动时隐藏它 所以,除了我的代码有什么问题之外,真正的问题是: 有没有办法

  • 只要一个动画,就可以带来生命。不幸的是,当设计师创建图标、logo 和吉祥物的时候,他们交付的通常都是图片或静态的 SVG。所以,虽然 GitHub 的章鱼猫、Twitter 的小鸟以及其它许多 logo 类似于生灵,它们看上去实际上并不是活着的。 Vue 可以帮到你。因为 SVG 的本质是数据,我们只需要这些动物兴奋、思考或警戒的样例。然后 Vue 就可以辅助完成这几种状态之间的过渡动画,来制作

  • 令牌生成前触发器:此Lambda触发器允许您在生成标识令牌之前自定义标识令牌:https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html 我正在寻找一种通过云形成配置此触发器的方法。类似的东西: https://docs.aws.amazon.com/AWS

  • 问题内容: 如何在SQL触发器中获取更新的记录的值-像这样: 显然这是行不通的,但是您可以看到我要尝试的内容。 问题答案: 如果您 确定 只会更新一个值,则可以执行此操作… 如果可以一次更新多个值,则此代码将仅处理其中一个。(尽管不会出错。) 您可以使用游标,或者如果它是SQL Server 2008+,则可以使用表变量。 或者,更常见的是,只需将StoredProcedure代码移到触发器中。

  • Bot只是不工作:/Bot没有给出任何错误