0

Hibernate を生成するテーブルのフィールド名を変更するにはどうすればよいですか? 作成する場合:

@ManyToMany(targetEntity = GroupRightEntity.class)
or
@ManyToMany(targetEntity = UserRightEntity.class)

データベース内の列の名前を明示的に変更するようになりました。

alter table security_mapping_user rename column sec_mapping_id to secmappingentity_id;

ご理解とご協力をお願いいたします。


Hibernate は、追加のテーブルへのリンクを生成します。したがって、生成されたフィールド名は理解しています。注釈などを使用する必要があります。これらの列名は変更されます。私はすべてを正しく書いたことを願っています。


我々は持っています。

@Entity
@Table(name = "ROLE")
public class RoleEntity implements Role, Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(generator = "SEQ_ROLE")
    @SequenceGenerator(name = "SEQ_ROLE", sequenceName="SEQ_ROLE", allocationSize = 1)
    private Long id;
    private String name;
    private String description;

@Entity
@Table(name = "URL")
public class UrlEntity implements Url, Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(generator = "SEQ_URL")
    @SequenceGenerator(name="SEQ_URL", sequenceName="SEQ_URL", allocationSize = 1)
    private Long id;
    private String url;
    @OneToMany(targetEntity = RoleEntity.class, fetch = FetchType.EAGER, mappedBy="url_id")
    private Set<Role> roles;

後で、3 番目のテーブルを取得します。"URL_ROLE"

この表では、フィールドに名前が付けられています。「URL_ID」と「ROLE_ID」

「URL_ID」は「urlentity_id」のフィールドの名前を変更する必要があります。

今ではすべてを正しく構築したようです。

4

1 に答える 1

0

ManyToMany を定義するときは、関係がマップされる列も定義する必要があります。名前を変更する必要がある場所です。

于 2013-01-14T15:02:48.100 に答える