blob: bf54e315327e891bbf7b6316d2c93086bbeae337 [file] [log] [blame]
/*
* Copyright (c) 2018, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.jpa.collection.model;
import java.util.HashSet;
import java.util.Set;
import jakarta.persistence.CollectionTable;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.Table;
@Entity
@Table(name = "nodeholder")
public class NodeHolder {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ElementCollection(targetClass = Integer.class)
@CollectionTable(name = "nodes", joinColumns = @JoinColumn(name = "id"))
@Column(name = "element")
private Set<Integer> nodes;
public void setNodes(Set<Integer> nodes) {
this.nodes = nodes;
}
public void addNodes(int id) {
if (nodes == null) {
nodes = new HashSet<Integer>();
}
nodes.add(id);
}
public void removeNodes(int id) {
nodes.remove(id);
}
public int getId() {
return id;
}
}