0

@OneToMany/ Hibernateを使用している場合@ManyToOne、列名は「task_id」であると想定します。列名が「xxx」などであることをHibernateに通知する通知はありますか?

テーブルスキーマ:

Project      Task
-------      ----
id           id
text         text
             project

コード:

class Project {
    ...
    @OneToMany(mappedBy = "task")
    private List<Task> tasks;
}

class Task {
    ...
    @ManyToOne
    private Project project;
}

ありがとう

4

2 に答える 2

4

はい、それは...と呼ばれています@JoinColumn。そのように使用されます:

@JoinColumn(name = "xxx")

関係の所有側で使用します(Task)。

于 2013-02-01T13:56:31.767 に答える
2
@ManyToOne
@JoinColumn(name="xxx")
private Project project;

Jpa 2.0仕様から、JoinColumnインターフェースの宣言

@Target({METHOD, FIELD}) @Retention(RUNTIME)
  public @interface JoinColumn {
  String name() default "";
  String referencedColumnName() default "";
  boolean unique() default false;
  boolean nullable() default true;
  boolean insertable() default true;
  boolean updatable() default true;
  String columnDefinition() default "";
  String table() default "";
}
于 2013-02-01T14:07:48.167 に答える