Remove schema generation related annotations in Jpa layer (#2837)
* Remove schema generation related annotations in Jpa layer Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * Update hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * forgotten foreign key annotations removed Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * remove missed foreign key annotations Signed-off-by: strailov <Stanislav.Trailov@bosch.io> * foreign key from autoConfirmation Signed-off-by: strailov <Stanislav.Trailov@bosch.io> --------- Signed-off-by: strailov <Stanislav.Trailov@bosch.io> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
5c6718995b
commit
e6367d0b0c
@@ -14,10 +14,8 @@ import java.io.Serializable;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.EmbeddedId;
|
import jakarta.persistence.EmbeddedId;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.MapsId;
|
import jakarta.persistence.MapsId;
|
||||||
@@ -47,17 +45,13 @@ public class DistributionSetTypeElement implements Serializable {
|
|||||||
|
|
||||||
@MapsId("dsType")
|
@MapsId("dsType")
|
||||||
@ManyToOne(optional = false)
|
@ManyToOne(optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "distribution_set_type", nullable = false, updatable = false)
|
||||||
name = "distribution_set_type", nullable = false, updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_type_element_distribution_set_type"))
|
|
||||||
private JpaDistributionSetType dsType;
|
private JpaDistributionSetType dsType;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@MapsId("smType")
|
@MapsId("smType")
|
||||||
@ManyToOne(optional = false)
|
@ManyToOne(optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "software_module_type", nullable = false, updatable = false)
|
||||||
name = "software_module_type", nullable = false, updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_type_element_software_module_type"))
|
|
||||||
private JpaSoftwareModuleType smType;
|
private JpaSoftwareModuleType smType;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
|
|||||||
@@ -28,8 +28,6 @@ import jakarta.persistence.Convert;
|
|||||||
import jakarta.persistence.Converter;
|
import jakarta.persistence.Converter;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.NamedAttributeNode;
|
import jakarta.persistence.NamedAttributeNode;
|
||||||
@@ -59,13 +57,7 @@ import org.eclipse.hawkbit.repository.model.Target;
|
|||||||
/**
|
/**
|
||||||
* JPA implementation of {@link Action}.
|
* JPA implementation of {@link Action}.
|
||||||
*/
|
*/
|
||||||
@Table(
|
@Table(name = "sp_action")
|
||||||
name = "sp_action",
|
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_action_01", columnList = "tenant,distribution_set"),
|
|
||||||
@Index(name = "sp_idx_action_02", columnList = "tenant,target,active"),
|
|
||||||
@Index(name = "sp_idx_action_prim", columnList = "tenant,id")
|
|
||||||
})
|
|
||||||
@NamedEntityGraphs({
|
@NamedEntityGraphs({
|
||||||
@NamedEntityGraph(name = "Action.all", attributeNodes = {
|
@NamedEntityGraph(name = "Action.all", attributeNodes = {
|
||||||
@NamedAttributeNode(value = "target", subgraph = "target.ds"),
|
@NamedAttributeNode(value = "target", subgraph = "target.ds"),
|
||||||
@@ -87,16 +79,14 @@ public class JpaAction extends AbstractJpaTenantAwareBaseEntity implements Actio
|
|||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "distribution_set", nullable = false, updatable = false,
|
name = "distribution_set", nullable = false, updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_distribution_set"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JpaDistributionSet distributionSet;
|
private JpaDistributionSet distributionSet;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "target", updatable = false,
|
name = "target", updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_target"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JpaTarget target;
|
private JpaTarget target;
|
||||||
|
|
||||||
@@ -136,15 +126,12 @@ public class JpaAction extends AbstractJpaTenantAwareBaseEntity implements Actio
|
|||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "rollout_group", updatable = false,
|
name = "rollout_group", updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_rollout_group"))
|
|
||||||
private JpaRolloutGroup rolloutGroup;
|
private JpaRolloutGroup rolloutGroup;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "rollout", updatable = false)
|
||||||
name = "rollout", updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_rollout"))
|
|
||||||
private JpaRollout rollout;
|
private JpaRollout rollout;
|
||||||
|
|
||||||
// a cron expression to be used for scheduling.
|
// a cron expression to be used for scheduling.
|
||||||
|
|||||||
@@ -17,13 +17,10 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import jakarta.persistence.CollectionTable;
|
import jakarta.persistence.CollectionTable;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.ElementCollection;
|
import jakarta.persistence.ElementCollection;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.NamedAttributeNode;
|
import jakarta.persistence.NamedAttributeNode;
|
||||||
@@ -42,10 +39,7 @@ import org.eclipse.hawkbit.repository.model.ActionStatus;
|
|||||||
* Entity to store the status for a specific action.
|
* Entity to store the status for a specific action.
|
||||||
*/
|
*/
|
||||||
@NoArgsConstructor // JPA default constructor
|
@NoArgsConstructor // JPA default constructor
|
||||||
@Table(name = "sp_action_status", indexes = {
|
@Table(name = "sp_action_status")
|
||||||
@Index(name = "sp_idx_action_status_02", columnList = "tenant,action,status"),
|
|
||||||
@Index(name = "sp_idx_action_status_prim", columnList = "tenant,id")
|
|
||||||
})
|
|
||||||
@NamedEntityGraph(name = "ActionStatus.withMessages", attributeNodes = { @NamedAttributeNode("messages") })
|
@NamedEntityGraph(name = "ActionStatus.withMessages", attributeNodes = { @NamedAttributeNode("messages") })
|
||||||
@Entity
|
@Entity
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@@ -63,9 +57,7 @@ public class JpaActionStatus extends AbstractJpaTenantAwareBaseEntity implements
|
|||||||
private long timestamp;
|
private long timestamp;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "action", nullable = false, updatable = false)
|
||||||
name = "action", nullable = false, updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_status_action"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JpaAction action;
|
private JpaAction action;
|
||||||
|
|
||||||
@@ -81,10 +73,7 @@ public class JpaActionStatus extends AbstractJpaTenantAwareBaseEntity implements
|
|||||||
@ElementCollection(fetch = FetchType.LAZY, targetClass = String.class)
|
@ElementCollection(fetch = FetchType.LAZY, targetClass = String.class)
|
||||||
@CollectionTable(
|
@CollectionTable(
|
||||||
name = "sp_action_status_messages",
|
name = "sp_action_status_messages",
|
||||||
joinColumns = @JoinColumn(
|
joinColumns = @JoinColumn(name = "action_status", nullable = false))
|
||||||
name = "action_status", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_status_messages_action_status")),
|
|
||||||
indexes = { @Index(name = "fk_action_status_messages_action_status", columnList = "action_status") })
|
|
||||||
@Column(name = "detail_message", length = MESSAGE_ENTRY_LENGTH, nullable = false)
|
@Column(name = "detail_message", length = MESSAGE_ENTRY_LENGTH, nullable = false)
|
||||||
private List<String> messages;
|
private List<String> messages;
|
||||||
|
|
||||||
|
|||||||
@@ -13,11 +13,8 @@ import java.io.Serial;
|
|||||||
|
|
||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
@@ -37,11 +34,7 @@ import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
|||||||
@NoArgsConstructor // Default constructor needed for JPA entities.
|
@NoArgsConstructor // Default constructor needed for JPA entities.
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@Table(name = "sp_artifact",
|
@Table(name = "sp_artifact")
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_artifact_01", columnList = "tenant,software_module"),
|
|
||||||
@Index(name = "sp_idx_artifact_02", columnList = "tenant,sha1_hash"),
|
|
||||||
@Index(name = "sp_idx_artifact_prim", columnList = "tenant,id") })
|
|
||||||
@Entity
|
@Entity
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
@@ -52,8 +45,7 @@ public class JpaArtifact extends AbstractJpaTenantAwareBaseEntity implements Art
|
|||||||
|
|
||||||
@ManyToOne(optional = false, cascade = { CascadeType.PERSIST }, fetch = FetchType.LAZY)
|
@ManyToOne(optional = false, cascade = { CascadeType.PERSIST }, fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "software_module", nullable = false, updatable = false,
|
name = "software_module", nullable = false, updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_artifact_software_module"))
|
|
||||||
private JpaSoftwareModule softwareModule;
|
private JpaSoftwareModule softwareModule;
|
||||||
|
|
||||||
@Column(name = "provided_file_name", length = 256, updatable = false)
|
@Column(name = "provided_file_name", length = 256, updatable = false)
|
||||||
|
|||||||
@@ -10,10 +10,8 @@
|
|||||||
package org.eclipse.hawkbit.repository.jpa.model;
|
package org.eclipse.hawkbit.repository.jpa.model;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
@@ -37,9 +35,7 @@ public class JpaAutoConfirmationStatus extends AbstractJpaTenantAwareBaseEntity
|
|||||||
|
|
||||||
// actually it is OneToOne - but lazy loading is not supported for OneToOne (at least for hibernate 6.6.2)
|
// actually it is OneToOne - but lazy loading is not supported for OneToOne (at least for hibernate 6.6.2)
|
||||||
@ManyToOne(optional = false, fetch = FetchType.LAZY)
|
@ManyToOne(optional = false, fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "target", nullable = false)
|
||||||
name = "target", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_conf_status_target"))
|
|
||||||
private JpaTarget target;
|
private JpaTarget target;
|
||||||
|
|
||||||
@Column(name = "initiator", length = USERNAME_FIELD_LENGTH)
|
@Column(name = "initiator", length = USERNAME_FIELD_LENGTH)
|
||||||
|
|||||||
@@ -20,12 +20,9 @@ import java.util.Set;
|
|||||||
|
|
||||||
import jakarta.persistence.CollectionTable;
|
import jakarta.persistence.CollectionTable;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.ElementCollection;
|
import jakarta.persistence.ElementCollection;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.JoinTable;
|
import jakarta.persistence.JoinTable;
|
||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
@@ -34,7 +31,6 @@ import jakarta.persistence.MapKeyColumn;
|
|||||||
import jakarta.persistence.NamedAttributeNode;
|
import jakarta.persistence.NamedAttributeNode;
|
||||||
import jakarta.persistence.NamedEntityGraph;
|
import jakarta.persistence.NamedEntityGraph;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -63,11 +59,7 @@ import org.springframework.core.annotation.Order;
|
|||||||
@Getter
|
@Getter
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_distribution_set",
|
@Table(name = "sp_distribution_set")
|
||||||
uniqueConstraints = { @UniqueConstraint(columnNames = { "name", "version", "tenant" }, name = "uk_distribution_set") },
|
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_distribution_set_01", columnList = "tenant,deleted"),
|
|
||||||
@Index(name = "sp_idx_distribution_set_prim", columnList = "tenant,id") })
|
|
||||||
@NamedEntityGraph(name = "DistributionSet.detail",
|
@NamedEntityGraph(name = "DistributionSet.detail",
|
||||||
attributeNodes = { @NamedAttributeNode("modules"), @NamedAttributeNode("tags"), @NamedAttributeNode("type") })
|
attributeNodes = { @NamedAttributeNode("modules"), @NamedAttributeNode("tags"), @NamedAttributeNode("type") })
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@@ -80,36 +72,25 @@ public class JpaDistributionSet
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY, optional = false, targetEntity = JpaDistributionSetType.class)
|
@ManyToOne(fetch = FetchType.LAZY, optional = false, targetEntity = JpaDistributionSetType.class)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "ds_type", nullable = false, updatable = false)
|
||||||
name = "ds_type", nullable = false, updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_distribution_set_ds_type"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private DistributionSetType type;
|
private DistributionSetType type;
|
||||||
|
|
||||||
@ManyToMany(targetEntity = JpaSoftwareModule.class, fetch = FetchType.LAZY)
|
@ManyToMany(targetEntity = JpaSoftwareModule.class, fetch = FetchType.LAZY)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "sp_ds_sm",
|
name = "sp_ds_sm",
|
||||||
joinColumns = {
|
joinColumns = { @JoinColumn(name = "ds_id", nullable = false) },
|
||||||
@JoinColumn(
|
inverseJoinColumns = { @JoinColumn(name = "sm_id", nullable = false) })
|
||||||
name = "ds_id", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_sm_ds_id")) },
|
|
||||||
inverseJoinColumns = {
|
|
||||||
@JoinColumn(
|
|
||||||
name = "sm_id", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_sm_sm_id")) })
|
|
||||||
private Set<SoftwareModule> modules = new HashSet<>();
|
private Set<SoftwareModule> modules = new HashSet<>();
|
||||||
|
|
||||||
@ManyToMany(targetEntity = JpaDistributionSetTag.class)
|
@ManyToMany(targetEntity = JpaDistributionSetTag.class)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "sp_ds_tag",
|
name = "sp_ds_tag",
|
||||||
joinColumns = {
|
joinColumns = {
|
||||||
@JoinColumn(
|
@JoinColumn(name = "ds", nullable = false) },
|
||||||
name = "ds", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_tag_ds")) },
|
|
||||||
inverseJoinColumns = {
|
inverseJoinColumns = {
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "tag", nullable = false,
|
name = "tag", nullable = false) })
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_tag_tag")) })
|
|
||||||
private Set<DistributionSetTag> tags = new HashSet<>();
|
private Set<DistributionSetTag> tags = new HashSet<>();
|
||||||
|
|
||||||
// no cascade option on an ElementCollection, the target objects are always persisted, merged, removed with their parent
|
// no cascade option on an ElementCollection, the target objects are always persisted, merged, removed with their parent
|
||||||
@@ -117,8 +98,7 @@ public class JpaDistributionSet
|
|||||||
@ElementCollection
|
@ElementCollection
|
||||||
@CollectionTable(
|
@CollectionTable(
|
||||||
name = "sp_ds_metadata",
|
name = "sp_ds_metadata",
|
||||||
joinColumns = { @JoinColumn(name = "ds", nullable = false) },
|
joinColumns = { @JoinColumn(name = "ds", nullable = false) })
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_metadata_ds"))
|
|
||||||
@MapKeyColumn(name = "meta_key", length = DistributionSet.METADATA_MAX_KEY_SIZE)
|
@MapKeyColumn(name = "meta_key", length = DistributionSet.METADATA_MAX_KEY_SIZE)
|
||||||
@Column(name = "meta_value", length = DistributionSet.METADATA_MAX_VALUE_SIZE)
|
@Column(name = "meta_value", length = DistributionSet.METADATA_MAX_VALUE_SIZE)
|
||||||
private Map<String, String> metadata = new HashMap<>();
|
private Map<String, String> metadata = new HashMap<>();
|
||||||
|
|||||||
@@ -14,10 +14,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
|
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import org.eclipse.hawkbit.repository.event.EventPublisherHolder;
|
import org.eclipse.hawkbit.repository.event.EventPublisherHolder;
|
||||||
@@ -32,11 +30,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSetTag;
|
|||||||
*/
|
*/
|
||||||
@NoArgsConstructor // Default constructor needed for JPA entities.
|
@NoArgsConstructor // Default constructor needed for JPA entities.
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_distribution_set_tag",
|
@Table(name = "sp_distribution_set_tag")
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_distribution_set_tag_prim", columnList = "tenant,id"),
|
|
||||||
@Index(name = "sp_idx_distribution_set_tag_01", columnList = "tenant,name") },
|
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "name", "tenant" }, name = "uk_distribution_set_tag"))
|
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaDistributionSetTag extends JpaTag implements DistributionSetTag, EventAwareEntity {
|
public class JpaDistributionSetTag extends JpaTag implements DistributionSetTag, EventAwareEntity {
|
||||||
|
|||||||
@@ -18,10 +18,8 @@ import jakarta.persistence.CascadeType;
|
|||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@@ -39,11 +37,7 @@ import org.eclipse.hawkbit.repository.model.SoftwareModuleType;
|
|||||||
*/
|
*/
|
||||||
@NoArgsConstructor // Default constructor needed for JPA entities.
|
@NoArgsConstructor // Default constructor needed for JPA entities.
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_distribution_set_type", indexes = {
|
@Table(name = "sp_distribution_set_type")
|
||||||
@Index(name = "sp_idx_distribution_set_type_01", columnList = "tenant,deleted"),
|
|
||||||
@Index(name = "sp_idx_distribution_set_type_prim", columnList = "tenant,id") }, uniqueConstraints = {
|
|
||||||
@UniqueConstraint(columnNames = { "tenant", "type_key" }, name = "uk_sp_distribution_set_type_type_key"),
|
|
||||||
@UniqueConstraint(columnNames = { "tenant", "name" }, name = "uk_sp_distribution_set_type_name") })
|
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaDistributionSetType extends AbstractJpaTypeEntity implements DistributionSetType, EventAwareEntity {
|
public class JpaDistributionSetType extends AbstractJpaTypeEntity implements DistributionSetType, EventAwareEntity {
|
||||||
|
|||||||
@@ -18,12 +18,10 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.Converter;
|
import jakarta.persistence.Converter;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.NamedAttributeNode;
|
import jakarta.persistence.NamedAttributeNode;
|
||||||
@@ -32,7 +30,6 @@ import jakarta.persistence.NamedEntityGraphs;
|
|||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.Transient;
|
import jakarta.persistence.Transient;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.Max;
|
import jakarta.validation.constraints.Max;
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
@@ -59,7 +56,7 @@ import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
|
|||||||
*/
|
*/
|
||||||
@NoArgsConstructor // Default constructor needed for JPA entities.
|
@NoArgsConstructor // Default constructor needed for JPA entities.
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_rollout", uniqueConstraints = @UniqueConstraint(columnNames = { "name", "tenant" }, name = "uk_rollout"))
|
@Table(name = "sp_rollout")
|
||||||
@NamedEntityGraphs({ @NamedEntityGraph(name = "Rollout.ds", attributeNodes = { @NamedAttributeNode("distributionSet") }) })
|
@NamedEntityGraphs({ @NamedEntityGraph(name = "Rollout.ds", attributeNodes = { @NamedAttributeNode("distributionSet") }) })
|
||||||
// squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
// java:S1710 - not possible to use without group annotation
|
// java:S1710 - not possible to use without group annotation
|
||||||
@@ -82,8 +79,7 @@ public class JpaRollout extends AbstractJpaNamedEntity implements Rollout, Event
|
|||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "distribution_set", nullable = false, updatable = false,
|
name = "distribution_set", nullable = false, updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_rollout_distribution_set"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JpaDistributionSet distributionSet;
|
private JpaDistributionSet distributionSet;
|
||||||
|
|
||||||
|
|||||||
@@ -15,18 +15,15 @@ import java.util.Map;
|
|||||||
|
|
||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.Converter;
|
import jakarta.persistence.Converter;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.Transient;
|
import jakarta.persistence.Transient;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
|
|
||||||
@@ -46,7 +43,7 @@ import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
|
|||||||
*/
|
*/
|
||||||
@NoArgsConstructor // Default constructor needed for JPA entities.
|
@NoArgsConstructor // Default constructor needed for JPA entities.
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_rollout_group", uniqueConstraints = @UniqueConstraint(columnNames = { "name", "rollout", "tenant" }, name = "uk_rollout_group"))
|
@Table(name = "sp_rollout_group")
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaRolloutGroup extends AbstractJpaNamedEntity implements RolloutGroup, EventAwareEntity {
|
public class JpaRolloutGroup extends AbstractJpaNamedEntity implements RolloutGroup, EventAwareEntity {
|
||||||
@@ -57,8 +54,7 @@ public class JpaRolloutGroup extends AbstractJpaNamedEntity implements RolloutGr
|
|||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(
|
||||||
name = "rollout", nullable = false, updatable = false,
|
name = "rollout", nullable = false, updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_rollout_group_rollout"))
|
|
||||||
private JpaRollout rollout;
|
private JpaRollout rollout;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
|
|||||||
@@ -20,13 +20,10 @@ import java.util.Optional;
|
|||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.CollectionTable;
|
import jakarta.persistence.CollectionTable;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.ElementCollection;
|
import jakarta.persistence.ElementCollection;
|
||||||
import jakarta.persistence.Embeddable;
|
import jakarta.persistence.Embeddable;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
@@ -35,7 +32,6 @@ import jakarta.persistence.NamedAttributeNode;
|
|||||||
import jakarta.persistence.NamedEntityGraph;
|
import jakarta.persistence.NamedEntityGraph;
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
|
|
||||||
@@ -63,12 +59,7 @@ import org.eclipse.hawkbit.repository.model.SoftwareModuleType;
|
|||||||
@Getter
|
@Getter
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_software_module",
|
@Table(name = "sp_software_module")
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "sm_type", "name", "version", "tenant" }, name = "uk_software_module"),
|
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_software_module_01", columnList = "tenant,deleted,name,version"),
|
|
||||||
@Index(name = "sp_idx_software_module_02", columnList = "tenant,deleted,sm_type"),
|
|
||||||
@Index(name = "sp_idx_software_module_prim", columnList = "tenant,id") })
|
|
||||||
@NamedEntityGraph(name = "SoftwareModule.artifacts", attributeNodes = { @NamedAttributeNode("artifacts") })
|
@NamedEntityGraph(name = "SoftwareModule.artifacts", attributeNodes = { @NamedAttributeNode("artifacts") })
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
@@ -80,8 +71,7 @@ public class JpaSoftwareModule
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "sm_type", nullable = false, updatable = false,
|
@JoinColumn(name = "sm_type", nullable = false, updatable = false)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_software_module_sm_type"))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JpaSoftwareModuleType type;
|
private JpaSoftwareModuleType type;
|
||||||
|
|
||||||
@@ -101,8 +91,7 @@ public class JpaSoftwareModule
|
|||||||
@ElementCollection
|
@ElementCollection
|
||||||
@CollectionTable(
|
@CollectionTable(
|
||||||
name = "sp_sm_metadata",
|
name = "sp_sm_metadata",
|
||||||
joinColumns = { @JoinColumn(name = "sm", nullable = false) },
|
joinColumns = { @JoinColumn(name = "sm", nullable = false) })
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_sm_metadata_sm"))
|
|
||||||
@MapKeyColumn(name = "meta_key", length = SoftwareModule.METADATA_KEY_MAX_SIZE)
|
@MapKeyColumn(name = "meta_key", length = SoftwareModule.METADATA_KEY_MAX_SIZE)
|
||||||
private Map<String, JpaMetadataValue> metadata;
|
private Map<String, JpaMetadataValue> metadata;
|
||||||
|
|
||||||
|
|||||||
@@ -13,9 +13,7 @@ import java.io.Serial;
|
|||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -33,11 +31,7 @@ import org.eclipse.hawkbit.repository.model.SoftwareModuleType;
|
|||||||
@NoArgsConstructor // Default constructor for JPA
|
@NoArgsConstructor // Default constructor for JPA
|
||||||
@Getter
|
@Getter
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_software_module_type", indexes = {
|
@Table(name = "sp_software_module_type")
|
||||||
@Index(name = "sp_idx_software_module_type_01", columnList = "tenant,deleted"),
|
|
||||||
@Index(name = "sp_idx_software_module_type_prim", columnList = "tenant,id") }, uniqueConstraints = {
|
|
||||||
@UniqueConstraint(columnNames = { "tenant", "type_key" }, name = "uk_sp_software_module_type_type_key"),
|
|
||||||
@UniqueConstraint(columnNames = { "tenant", "name" }, name = "uk_sp_software_module_type_name") })
|
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaSoftwareModuleType extends AbstractJpaTypeEntity implements SoftwareModuleType, EventAwareEntity {
|
public class JpaSoftwareModuleType extends AbstractJpaTypeEntity implements SoftwareModuleType, EventAwareEntity {
|
||||||
|
|||||||
@@ -20,14 +20,11 @@ import java.util.Set;
|
|||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.CollectionTable;
|
import jakarta.persistence.CollectionTable;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.Converter;
|
import jakarta.persistence.Converter;
|
||||||
import jakarta.persistence.ElementCollection;
|
import jakarta.persistence.ElementCollection;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.JoinTable;
|
import jakarta.persistence.JoinTable;
|
||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
@@ -39,7 +36,6 @@ import jakarta.persistence.NamedEntityGraphs;
|
|||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.PrimaryKeyJoinColumn;
|
import jakarta.persistence.PrimaryKeyJoinColumn;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Pattern;
|
import jakarta.validation.constraints.Pattern;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
@@ -70,14 +66,7 @@ import org.springframework.util.ObjectUtils;
|
|||||||
@NoArgsConstructor // Default constructor for JPA
|
@NoArgsConstructor // Default constructor for JPA
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_target",
|
@Table(name = "sp_target")
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_target_01", columnList = "tenant,name,assigned_distribution_set"),
|
|
||||||
@Index(name = "sp_idx_target_03", columnList = "tenant,controller_id,assigned_distribution_set"),
|
|
||||||
@Index(name = "sp_idx_target_04", columnList = "tenant,created_at"),
|
|
||||||
@Index(name = "sp_idx_target_05", columnList = "tenant,last_modified_at"),
|
|
||||||
@Index(name = "sp_idx_target_prim", columnList = "tenant,id") },
|
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "controller_id", "tenant" }, name = "uk_target_controller_id"))
|
|
||||||
@NamedEntityGraphs({
|
@NamedEntityGraphs({
|
||||||
@NamedEntityGraph(name = "Target.details", attributeNodes = {
|
@NamedEntityGraph(name = "Target.details", attributeNodes = {
|
||||||
@NamedAttributeNode("targetType"),
|
@NamedAttributeNode("targetType"),
|
||||||
@@ -139,13 +128,13 @@ public class JpaTarget extends AbstractJpaNamedEntity implements Target, EventAw
|
|||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "installed_distribution_set", foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_inst_ds"))
|
@JoinColumn(name = "installed_distribution_set")
|
||||||
private JpaDistributionSet installedDistributionSet;
|
private JpaDistributionSet installedDistributionSet;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "assigned_distribution_set", foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_assign_ds"))
|
@JoinColumn(name = "assigned_distribution_set")
|
||||||
private JpaDistributionSet assignedDistributionSet;
|
private JpaDistributionSet assignedDistributionSet;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@@ -167,21 +156,15 @@ public class JpaTarget extends AbstractJpaNamedEntity implements Target, EventAw
|
|||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne(fetch = FetchType.LAZY, targetEntity = JpaTargetType.class)
|
@ManyToOne(fetch = FetchType.LAZY, targetEntity = JpaTargetType.class)
|
||||||
@JoinColumn(name = "target_type", foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_relation_target_type"))
|
@JoinColumn(name = "target_type")
|
||||||
private TargetType targetType;
|
private TargetType targetType;
|
||||||
|
|
||||||
@ManyToMany(targetEntity = JpaTargetTag.class)
|
@ManyToMany(targetEntity = JpaTargetTag.class)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "sp_target_target_tag",
|
name = "sp_target_target_tag",
|
||||||
joinColumns = {
|
joinColumns = { @JoinColumn(name = "target", nullable = false) },
|
||||||
@JoinColumn(
|
inverseJoinColumns = { @JoinColumn(name = "tag", nullable = false) }
|
||||||
name = "target", nullable = false,
|
)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_target_tag_target")) },
|
|
||||||
inverseJoinColumns = {
|
|
||||||
@JoinColumn(
|
|
||||||
name = "tag", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_target_tag_tag"))
|
|
||||||
})
|
|
||||||
private Set<TargetTag> tags;
|
private Set<TargetTag> tags;
|
||||||
|
|
||||||
// no cascade option on an ElementCollection, the target objects are always persisted, merged, removed with their parent
|
// no cascade option on an ElementCollection, the target objects are always persisted, merged, removed with their parent
|
||||||
@@ -189,8 +172,8 @@ public class JpaTarget extends AbstractJpaNamedEntity implements Target, EventAw
|
|||||||
@ElementCollection
|
@ElementCollection
|
||||||
@CollectionTable(
|
@CollectionTable(
|
||||||
name = "sp_target_attributes",
|
name = "sp_target_attributes",
|
||||||
joinColumns = { @JoinColumn(name = "target", nullable = false) },
|
joinColumns = { @JoinColumn(name = "target", nullable = false) }
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_attributes_target"))
|
)
|
||||||
@MapKeyColumn(name = "attribute_key", length = Target.CONTROLLER_ATTRIBUTE_MAX_KEY_SIZE)
|
@MapKeyColumn(name = "attribute_key", length = Target.CONTROLLER_ATTRIBUTE_MAX_KEY_SIZE)
|
||||||
@Column(name = "attribute_value", length = Target.CONTROLLER_ATTRIBUTE_MAX_VALUE_SIZE)
|
@Column(name = "attribute_value", length = Target.CONTROLLER_ATTRIBUTE_MAX_VALUE_SIZE)
|
||||||
private Map<String, String> controllerAttributes;
|
private Map<String, String> controllerAttributes;
|
||||||
@@ -200,8 +183,8 @@ public class JpaTarget extends AbstractJpaNamedEntity implements Target, EventAw
|
|||||||
@ElementCollection
|
@ElementCollection
|
||||||
@CollectionTable(
|
@CollectionTable(
|
||||||
name = "sp_target_metadata",
|
name = "sp_target_metadata",
|
||||||
joinColumns = { @JoinColumn(name = "target", nullable = false) },
|
joinColumns = { @JoinColumn(name = "target", nullable = false) }
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_metadata_target"))
|
)
|
||||||
@MapKeyColumn(name = "meta_key", length = Target.METADATA_MAX_KEY_SIZE)
|
@MapKeyColumn(name = "meta_key", length = Target.METADATA_MAX_KEY_SIZE)
|
||||||
@Column(name = "meta_value", length = Target.METADATA_MAX_VALUE_SIZE)
|
@Column(name = "meta_value", length = Target.METADATA_MAX_VALUE_SIZE)
|
||||||
private Map<String, String> metadata;
|
private Map<String, String> metadata;
|
||||||
|
|||||||
@@ -13,15 +13,12 @@ import java.io.Serial;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
|
|
||||||
@@ -44,9 +41,7 @@ import org.eclipse.hawkbit.repository.model.TargetFilterQuery;
|
|||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@Entity
|
@Entity
|
||||||
@Table(
|
@Table(name = "sp_target_filter_query")
|
||||||
name = "sp_target_filter_query",
|
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "name", "tenant" }, name = "uk_target_filter_query"))
|
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity implements TargetFilterQuery, EventAwareEntity {
|
public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity implements TargetFilterQuery, EventAwareEntity {
|
||||||
@@ -65,9 +60,7 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity imple
|
|||||||
private String query;
|
private String query;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY, targetEntity = JpaDistributionSet.class)
|
@ManyToOne(fetch = FetchType.LAZY, targetEntity = JpaDistributionSet.class)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "auto_assign_distribution_set")
|
||||||
name = "auto_assign_distribution_set",
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_filter_query_auto_assign_distribution_set"))
|
|
||||||
private DistributionSet autoAssignDistributionSet;
|
private DistributionSet autoAssignDistributionSet;
|
||||||
|
|
||||||
@Column(name = "auto_assign_action_type")
|
@Column(name = "auto_assign_action_type")
|
||||||
|
|||||||
@@ -12,9 +12,7 @@ package org.eclipse.hawkbit.repository.jpa.model;
|
|||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
|
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
@@ -30,12 +28,7 @@ import org.eclipse.hawkbit.repository.model.TargetTag;
|
|||||||
@NoArgsConstructor // Default constructor for JPA
|
@NoArgsConstructor // Default constructor for JPA
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@Entity
|
@Entity
|
||||||
@Table(
|
@Table(name = "sp_target_tag")
|
||||||
name = "sp_target_tag",
|
|
||||||
indexes = {
|
|
||||||
@Index(name = "sp_idx_target_tag_prim", columnList = "tenant,id"),
|
|
||||||
@Index(name = "sp_idx_target_tag_01", columnList = "tenant,name") },
|
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "name", "tenant" }, name = "uk_target_tag"))
|
|
||||||
public class JpaTargetTag extends JpaTag implements TargetTag, EventAwareEntity {
|
public class JpaTargetTag extends JpaTag implements TargetTag, EventAwareEntity {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
|||||||
@@ -14,15 +14,11 @@ import java.util.Collections;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.JoinTable;
|
import jakarta.persistence.JoinTable;
|
||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
|
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
@@ -40,9 +36,7 @@ import org.eclipse.hawkbit.repository.model.TargetType;
|
|||||||
@NoArgsConstructor // Default constructor for JPA
|
@NoArgsConstructor // Default constructor for JPA
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sp_target_type", indexes = {
|
@Table(name = "sp_target_type")
|
||||||
@Index(name = "sp_idx_target_type_prim", columnList = "tenant,id") }, uniqueConstraints = {
|
|
||||||
@UniqueConstraint(columnNames = { "name", "tenant" }, name = "uk_target_name") })
|
|
||||||
@SuppressWarnings("java:S2160") // the super class equals/hashcode shall be used
|
@SuppressWarnings("java:S2160") // the super class equals/hashcode shall be used
|
||||||
public class JpaTargetType extends AbstractJpaTypeEntity implements TargetType, EventAwareEntity {
|
public class JpaTargetType extends AbstractJpaTypeEntity implements TargetType, EventAwareEntity {
|
||||||
|
|
||||||
@@ -52,14 +46,9 @@ public class JpaTargetType extends AbstractJpaTypeEntity implements TargetType,
|
|||||||
@ManyToMany(targetEntity = JpaDistributionSetType.class)
|
@ManyToMany(targetEntity = JpaDistributionSetType.class)
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "sp_target_type_ds_type",
|
name = "sp_target_type_ds_type",
|
||||||
joinColumns = {
|
joinColumns = { @JoinColumn(name = "target_type", nullable = false) },
|
||||||
@JoinColumn(
|
inverseJoinColumns = { @JoinColumn(name = "distribution_set_type", nullable = false) }
|
||||||
name = "target_type", nullable = false,
|
)
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_type_ds_type_target_type")) },
|
|
||||||
inverseJoinColumns = {
|
|
||||||
@JoinColumn(
|
|
||||||
name = "distribution_set_type", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_target_type_ds_type_distribution_set_type")) })
|
|
||||||
private Set<DistributionSetType> distributionSetTypes = new HashSet<>();
|
private Set<DistributionSetType> distributionSetTypes = new HashSet<>();
|
||||||
|
|
||||||
public JpaTargetType(final String key, final String name, final String description, final String colour) {
|
public JpaTargetType(final String key, final String name, final String description, final String colour) {
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import jakarta.persistence.Basic;
|
|||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
|
|
||||||
@@ -35,9 +34,7 @@ import org.eclipse.hawkbit.repository.model.TenantConfiguration;
|
|||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@Entity
|
@Entity
|
||||||
@Table(
|
@Table(name = "sp_tenant_configuration")
|
||||||
name = "sp_tenant_configuration",
|
|
||||||
uniqueConstraints = @UniqueConstraint(columnNames = { "conf_key", "tenant" }, name = "uk_tenant_configuration"))
|
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@SuppressWarnings("squid:S2160")
|
@SuppressWarnings("squid:S2160")
|
||||||
public class JpaTenantConfiguration extends AbstractJpaTenantAwareBaseEntity implements TenantConfiguration, EventAwareEntity {
|
public class JpaTenantConfiguration extends AbstractJpaTenantAwareBaseEntity implements TenantConfiguration, EventAwareEntity {
|
||||||
|
|||||||
@@ -12,18 +12,14 @@ package org.eclipse.hawkbit.repository.jpa.model;
|
|||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Index;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.NamedAttributeNode;
|
import jakarta.persistence.NamedAttributeNode;
|
||||||
import jakarta.persistence.NamedEntityGraph;
|
import jakarta.persistence.NamedEntityGraph;
|
||||||
import jakarta.persistence.OneToOne;
|
import jakarta.persistence.OneToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
|
|
||||||
@@ -44,10 +40,7 @@ import org.eclipse.hawkbit.repository.model.TenantMetaData;
|
|||||||
@NoArgsConstructor // Default constructor for JPA
|
@NoArgsConstructor // Default constructor for JPA
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@Table(
|
@Table(name = "sp_tenant")
|
||||||
name = "sp_tenant",
|
|
||||||
indexes = { @Index(name = "sp_idx_tenant_prim", columnList = "tenant,id") },
|
|
||||||
uniqueConstraints = { @UniqueConstraint(columnNames = { "tenant" }, name = "uk_tenant") })
|
|
||||||
@NamedEntityGraph(name = "TenantMetaData.withDetails", attributeNodes = { @NamedAttributeNode("defaultDsType") })
|
@NamedEntityGraph(name = "TenantMetaData.withDetails", attributeNodes = { @NamedAttributeNode("defaultDsType") })
|
||||||
@Entity
|
@Entity
|
||||||
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
// exception squid:S2160 - BaseEntity equals/hashcode is handling correctly for sub entities
|
||||||
@@ -63,9 +56,7 @@ public class JpaTenantMetaData extends AbstractJpaBaseEntity implements TenantMe
|
|||||||
private String tenant;
|
private String tenant;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(
|
@JoinColumn(name = "default_ds_type", nullable = false)
|
||||||
name = "default_ds_type", nullable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_sp_tenant_default_ds_type"))
|
|
||||||
private JpaDistributionSetType defaultDsType;
|
private JpaDistributionSetType defaultDsType;
|
||||||
|
|
||||||
public JpaTenantMetaData(final DistributionSetType defaultDsType, final String tenant) {
|
public JpaTenantMetaData(final DistributionSetType defaultDsType, final String tenant) {
|
||||||
|
|||||||
@@ -14,10 +14,8 @@ import java.io.Serializable;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.ConstraintMode;
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.IdClass;
|
import jakarta.persistence.IdClass;
|
||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
@@ -44,14 +42,12 @@ public class RolloutTargetGroup implements Serializable {
|
|||||||
|
|
||||||
@Id
|
@Id
|
||||||
@ManyToOne(optional = false, targetEntity = JpaRolloutGroup.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
@ManyToOne(optional = false, targetEntity = JpaRolloutGroup.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
||||||
@JoinColumn(name = "rollout_group", nullable = false, updatable = false, foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_rollout_target_group_rollout_group"))
|
@JoinColumn(name = "rollout_group", nullable = false, updatable = false)
|
||||||
private JpaRolloutGroup rolloutGroup;
|
private JpaRolloutGroup rolloutGroup;
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@ManyToOne(optional = false, targetEntity = JpaTarget.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
@ManyToOne(optional = false, targetEntity = JpaTarget.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
||||||
@JoinColumn(
|
@JoinColumn(name = "target", nullable = false, updatable = false)
|
||||||
name = "target", nullable = false, updatable = false,
|
|
||||||
foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_rollout_target_group_target"))
|
|
||||||
private JpaTarget target;
|
private JpaTarget target;
|
||||||
|
|
||||||
@OneToMany(targetEntity = JpaAction.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
@OneToMany(targetEntity = JpaAction.class, fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST })
|
||||||
|
|||||||
Reference in New Issue
Block a user