slade_yu 2014-07-25 03:26 采纳率: 0%
浏览 1427

hibernate注解id用了sqlserver的关键字user_id

如题,如何才能一注解的方式吧映射的字段名改成:[user_id];我试过用@column(name='[user_id]')会报错:user_id (should be mapped with insert="false" update="false"),重复定义了字段。。。如何解啊?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 09:27
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Hibernate中,你可以使用@Id注解来指定实体类中的主键字段。这个注解将自动将字段名称映射到SQL中的user_id字段。

    以下是一个例子:

    @Entity
    public class User {
    
        @Id
        private String userId;
    
        // getters and setters...
    }
    

    然后,在你的SQL映射文件中,你只需要指定userId作为user_id即可:

    <bean id="userRepository" class="com.example.UserRepository">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <select id="selectUserById" parameterType="int" resultType="com.example.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
    

    这样,当你查询时,Hibernate就会自动把userId字段转换为user_id

    如果你仍然遇到问题,请检查你的数据库连接配置和参数是否正确。

    评论

报告相同问题?