import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class HibernateUtil {
final static StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure()
.build();
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new MetadataSources(registry).buildMetadata()
.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession()
throws HibernateException {
Session session = null;
try {
session = sessionFactory.getCurrentSession();
} catch (org.hibernate.HibernateException he) {
session = sessionFactory.openSession();
}
return session;
}
}Session session = HibernateUtil.getSession();
session.beginTransaction();
note.setTitle("Example");
session.merge(note);
session.getTransaction().commit();
session.close();как это сделать в Spring проекте где нету main`a
Но потом, когда я загружу проект на сервер, то там же другая файловая система, другие директории и т.д. - как с этим быть?
upload.path будет /home/Desktop/uploads, а для prod профиля будет uploads/ и т.д.Во-вторых - а как быть с безопасностью? Как-то же надо фильтровать то, что мне загружают? А то скрипт какой-нибудь загрузят или ещё что-то. Как это вообще отслеживать?
image/* и т.д.Как отслеживать оставшееся место на диске?
нужно , чтобы в поле result попадал json как строка. Менять ответ контроллера (например обернуть в кавычки) я не могу.
имеет ли смысл только для работы с бд подключать springframework
spring.jpa.hibernate.ddl-auto=create-dropresources/static/css/style.css<link href="css/style.css" type="text/css" rel="stylesheet"/>.<link th:href="@{/css/style.css}" type="text/css" rel="stylesheet"/>.ClassCastException: java.lang.String cannot be cast to com.example.deeplom.domain.TableGames
Я так понимаю так же нужно настраивать Thymeleaf?
<img th:src="${image}" alt="Картинка"/>Вот эту часть кода по логике надо писать в модели прям над названием класса?
Теперь когда я хочу найти компании с паспортом работника, по логике я могу вызвать этот query и вызывать я его должен в классе Cервиса верно?
Так же возникает вопрос, если мы используем HQL и нам нужно написать какой то один непопулярный запрос, который допустим будет использован всего один раз во всем проекте.
Because OSIV creates a Session at the beginning of the request, the transactional proxy uses the current available Session instead of creating a brand new one.
not-null property references a null or transient value : com.SchoolJournal.SpringHibernate.model.Pupil.name@Column(name = '"`name`", nullable = false)
@Getter
@Setter
private String name;У меня есть бд блога на локалхосте я туда успешно гружу всю информацию для поста (название, дату , текст и картинку)
postAddArticle(@AuthenticationPrincipal User user, Date timeArticle, @RequestParam String title, String author,
@RequestParam String anons, @RequestParam String text,
@RequestParam("file") MultipartFile file, Model model)<img src="data:image/jpeg;base64,[тут_код_картинки_в_base64]">byte[] encodeBase64 = Base64.encode(repository.getImage());
String base64Encoded = new String(encodeBase64, "UTF-8");
model.addObject("image", base64Encoded );<img src="data:image/jpeg;base64,${image}" />Вообще мне кажется у вас архитектурно не очень придумано.
Лучше бы сделать отдельно пользователей и отдельно роли.
Converter<S, T>)enctype="multipart/form-data"
<link href="${pageContext.request.contextPath}/templates/bootstrap/plugins/fontawesome-free/css/all.min.css" rel="stylesheet"><script th:src="@{/bootstrap/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>@ControllerAdvice@ControllerAdvice
public class GlobalControllerAdvice {
// Текущий авторизованный пользователь
@ModelAttribute("user")
public User getUserProfile(
@AuthenticationPrincipal UserDetails currentUser
) {
if(
SecurityContextHolder.getContext().getAuthentication() != null &&
SecurityContextHolder.getContext().getAuthentication().isAuthenticated() &&
!(SecurityContextHolder.getContext().getAuthentication() instanceof AnonymousAuthenticationToken)
) {
return (User) userService.findUserByEmail(currentUser.getUsername());
} else {
return null;
}
}
}if(user != null){
model.addAttribute("user", user.getUsername());
return "/index";
} else {
model.addAttribute("user", "Аноним");
return "/index";
} @PostMapping("/order")
public void pay(@AuthenticationPrincipal AuthorizedUser user) {
...
}
@PostMapping("/order")
public void pay(@RequestParam(value = "consumer-id") Integer consumerId,
@RequestParam(value = "consumer-region-code") Integer regionCode) {
...
}@PostMapping("/order")
public void pay(
@AuthenticationPrincipal AuthorizedUser user,
@RequestParam(value = "consumer-id", required = false) Integer consumerId,
@RequestParam(value = "consumer-region-code", required = false) Integer regionCode
) {
...
}