Как получить одно значение из другой таблицы как String - PullRequest
0 голосов
/ 08 мая 2018

У меня есть две таблицы

Журналы:

-------------------------------------------------------------------------------
|   id (pk)             |   target                    |      event_code (fk)   |
-------------------------------------------------------------------------------
|   1                   |   System_Role               |           1            |
--------------------------------------------------------------------------------
|   2                   |   System_RUle               |           2            |
--------------------------------------------------------------------------------
|   1                   |   Internal_User             |           3            |
--------------------------------------------------------------------------------
|   3                   |   External_User             |           4            |
--------------------------------------------------------------------------------

События

-------------------------------------------------------
|   id (pk)             |             event           |
-------------------------------------------------------
|   1                   |   Role was added            |
-------------------------------------------------------
|   2                   |   Rule was removed          |
-------------------------------------------------------
|   1                   |   User was updated          |
-------------------------------------------------------
|   3                   |   User password was reseted |
-------------------------------------------------------

Журналы таблиц имеют внешний ключ от поля event_code до идентификатора поля события.

Организация:

@Entity
@Table(name = "logs")
public class LogEvent implements Serializable{

    private static final long serialVersionUID = 1;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 150)
    @Column(name = "target")
    private String target;

    //????
    private String event;

    public LogEvent(String target, String event) {
        this.target = target;
        this.event = event;
    }        
}

Мне нужно получить поле field из таблицы Events и поместить его в переменную event. А также мне нужно правильно добавить новые значения в мою БД. Как это сделать?

1 Ответ

0 голосов
/ 08 мая 2018

Здесь вам нужно использовать отношения ManyToOne с JPA, например:

@ManyToOne 
@JoinColumn(name="event_code", nullable=false)
private Event event;

Таким образом, вы можете легко манипулировать регистром событий, соответствующим вашему LogEvent.

Я настоятельно рекомендую вам узнать об отношениях JPA: https://www.tutorialspoint.com/jpa/jpa_entity_relationships.htm

...