Close

JPA - @Convert Examples

JPA JAVA EE 

package com.logicbig.example;

import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.File;

@Entity
public class Report {
@Id
@GeneratedValue
private long id;
private String description;
@Convert(converter = FileConverter.class)
private File file;

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}

@Override
public String toString() {
return "Report{" +
"id=" + id +
", description='" + description + '\'' +
", file=" + file +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.*;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

@Entity
public class Journal {
@Id
@GeneratedValue
private long id;
@ElementCollection
@Convert(converter = FileConverter.class, attributeName = "file")
private List<Report> reports;

public void addReport(String description, File file) {
if (reports == null) {
reports = new ArrayList<>();
}
Report report = new Report();
report.setDescription(description);
report.setFile(file);
reports.add(report);
}


@Override
public String toString() {
return "Journal{" +
"id=" + id +
", reports=" + reports +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.*;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

@Entity
public class Journal {
@Id
@GeneratedValue
private long id;
@ElementCollection
@Convert(converter = FileConverter.class, attributeName = "value")
private Map<String, File> reportMap;

public void addReport(String description, File file) {
if (reportMap == null) {
reportMap = new HashMap<>();
}
reportMap.put(description, file);
}

@Override
public String toString() {
return "Journal{" +
"id=" + id +
", reportMap=" + reportMap +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.*;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

@Entity
public class Journal {
@Id
@GeneratedValue
private long id;
@ElementCollection
@Convert(converter = FileConverter.class, attributeName = "value.file")
private Map<String, Report> reportMap;

public Map<String, Report> getReportMap() {
return reportMap;
}

public void addReport(String reportName, String description, File file) {
if (reportMap == null) {
reportMap = new HashMap<>();
}
Report report = new Report();
report.setDescription(description);
report.setFile(file);
reportMap.put(reportName, report);
}

@Override
public String toString() {
return "Journal{" +
"id=" + id +
", reportMap=" + reportMap +
'}';
}
}
Original Post




See Also