Hi again, is there any way to implement view to the database? If I create it manually in db, liquidbase wants to drop it each time I start the app. I want to use view to load specified data in browser screen.
And second question is, how to import it correctly? By Entity or there is some other way?
Example of SQL Query view(shows how many hours users have had work in specific month):
SELECT SUM(dbo.CALENDAR.DURATION) AS HoursWorked,
dbo.USER_.USERNAME AS username,
dbo.USER_.FIRST_NAME AS firstname,
dbo.USER_.LAST_NAME AS lastname,
DATEPART(MONTH, dbo.CALENDAR.START_DATE) AS Month,
DATEPART(YEAR, dbo.CALENDAR.START_DATE) AS Year
FROM dbo.CALENDAR
LEFT OUTER JOIN WORK_TIME ON CALENDAR.USER_ID = WORK_TIME.USER_ID_ID
INNER JOIN dbo.USER_ ON dbo.CALENDAR.USER_ID = dbo.USER_.ID
GROUP BY dbo.USER_.USERNAME,
dbo.USER_.FIRST_NAME,
dbo.USER_.LAST_NAME,
DATEPART(MONTH, dbo.CALENDAR.START_DATE),
DATEPART(YEAR, dbo.CALENDAR.START_DATE)
##########################################################################
INSERT INTO WORK_TIME(HOURSWORKED, USERNAME , FIRST_NAME, LAST_NAME, MONTH_, YEAR_)
SELECT WorkTime.HoursWorked, WorkTime.username, WorkTime.firstname, WorkTime.lastname, WorkTime.Month, WorkTime.Year FROM
(SELECT * FROM
(SELECT SUM(dbo.CALENDAR.DURATION) AS HoursWorked,
dbo.USER_.USERNAME AS username,
dbo.USER_.FIRST_NAME AS firstname,
dbo.USER_.LAST_NAME AS lastname,
DATEPART(MONTH, dbo.CALENDAR.START_DATE) AS Month,
DATEPART(YEAR, dbo.CALENDAR.START_DATE) AS Year
FROM dbo.CALENDAR
LEFT OUTER JOIN WORK_TIME ON CALENDAR.USER_ID = WORK_TIME.USER_ID_ID
INNER JOIN dbo.USER_ ON dbo.CALENDAR.USER_ID = dbo.USER_.ID
GROUP BY dbo.USER_.USERNAME,
dbo.USER_.FIRST_NAME,
dbo.USER_.LAST_NAME,
DATEPART(MONTH, dbo.CALENDAR.START_DATE),
DATEPART(YEAR, dbo.CALENDAR.START_DATE)) AS WT) AS WorkTime
I could insert it like this to the Entity but it isn’t data I want to be stored. Generated View data should not be stored in Table, the main purpose of it is to show already stored data in specific way.