Replace Eclipselink with Hibernate
[policy/models.git] / models-interactions / model-impl / guard / src / main / java / org / onap / policy / guard / OperationsHistory.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2021,2023 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  * SPDX-License-Identifier: Apache-2.0
21  * ============LICENSE_END=========================================================
22  */
23
24 package org.onap.policy.guard;
25
26 import java.io.Serializable;
27 import java.util.Date;
28 import javax.persistence.Column;
29 import javax.persistence.Entity;
30 import javax.persistence.GeneratedValue;
31 import javax.persistence.GenerationType;
32 import javax.persistence.Id;
33 import javax.persistence.Index;
34 import javax.persistence.Table;
35 import javax.persistence.TableGenerator;
36 import lombok.Data;
37
38 @Entity
39 @Table(name = "operationshistory", indexes = {
40     @Index(name = "operationshistory_clreqid_index", columnList = "requestId,closedLoopName"),
41     @Index(name = "operationshistory_target_index", columnList = "target,operation,actor,endtime")
42 })
43 @Data
44 public class OperationsHistory implements Serializable {
45
46     private static final long serialVersionUID = -551420180714993577L;
47
48     @Id
49     @GeneratedValue(strategy = GenerationType.TABLE, generator = "opHistoryIdGen")
50     @TableGenerator(
51         name = "opHistoryIdGen",
52         table = "ophistory_id_sequence",
53         pkColumnName = "SEQ_NAME",
54         valueColumnName = "SEQ_COUNT",
55         pkColumnValue = "SEQ_GEN")
56     @Column(name = "id")
57     private Long id;
58
59     @Column(name = "closedLoopName", length = 255)
60     private String closedLoopName;
61
62     @Column(name = "requestId", length = 50)
63     private String requestId;
64
65     @Column(name = "subrequestId", length = 50)
66     private String subrequestId;
67
68     @Column(name = "actor", length = 50)
69     private String actor;
70
71     @Column(name = "operation", length = 50)
72     private String operation;
73
74     @Column(name = "target", length = 50)
75     private String target;
76
77     @Column(name = "starttime")
78     private Date starttime;
79
80     @Column(name = "outcome", length = 50)
81     private String outcome;
82
83     @Column(name = "message", length = 255)
84     private String message;
85
86     @Column(name = "endtime")
87     private Date endtime;
88
89 }